home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Everything For A Hacker
/
19990506-[HACK].iso
/
HEXEDIT
/
CROSSASM
/
PS96A12.ARJ
/
MNEMTEST.ASM
< prev
next >
Wrap
Assembly Source File
|
1987-03-09
|
6KB
|
273 lines
.org 0
;test all 8096 opcodes in all configurations
add op1,op2
add op1,op2,op3
add op1,far2
add op1,op2,far3
addb op1,op2
addb op1,op2,op3
addb op1,far2
addb op1,op2,far3
add op1,#h'00
add op1,op2,#h'ff
add op1,far2
add op1,op2,far3
addb op1,#h'00
addb op1,op2,#h'ff
addb op1,far2
addb op1,op2,far3
lcall longtest
ljmp longtest
sjmp sj0
sjmp sj1
sjmp sj2
sjmp sj3
sjmp sj4
add op1,[op1]
add op1,op2,op2[op1]
add op1,op2,-128[op1]
addb op1,op2,127[op1]
add op1,far5
add op1,op2,far3
addb op1,[op1]+
addb op1,op2,op2[op1]
addb op1,far5
addb op1,op2,far3
push op1
pop op1
.equ op1,32
.equ op2,128
.equ op3,132
.equ far2,1024
.equ far3,2048
add op1,op2
add op1,op2,op3
add op1,far2
add op1,op2,far3
addb op1,op2
addb op1,op2,op3
addb op1,far2
addb op1,op2,far3
addc op1,op2
addcb op1,op2
sub op1,op2
sub op1,op2,op3
subb op1,op2
subb op1,op2,op3
subc op1,op2
subcb op1,op2
cmp op1,op2
cmpb op1,op2
mulu op1,op2
mulu op1,op2,op3
mulub op1,op2
mulub op1,op2,op3
mul op1,op2
mul op1,op2,op3
mulb op1,op2
mulb op1,op2,op3
divu op1,op2
divub op1,op2
div op1,op2
divb op1,op2
and op1,op2
and op1,op2,op3
andb op1,op2
andb op1,op2,op3
or op1,op2
orb op1,op2
xor op1,op2
xorb op1,op2
ld op1,op2
ldb op1,op2
ld op1,#h'00
ld op1,#h'ff
ld op1,#h'00ff
ldb op1,#00
ldb op1,#h'ff
st op1,op2
stb op1,op2
ldbse op1,op2
ldbze op1,op2
push op1
pop op1
pushf
popf
ljmp longtest
stest: sjmp stest
indjmp op1
lcall longtest
scall stest
ret
djnz op1,rtest
jc rtest
jnc rtest
rtest: jh rtest
jnh rtest
je rtest
jne rtest
jv rtest
jnv rtest
jge rtest
jlt rtest
jvt rtest
jnvt rtest
jgt rtest
jle rtest
jst rtest
jnst rtest
jbc op1,0,rtest
jbs op1,7,rtest
djnz op27,rtest
.equ op27,46
dec op1
decb op1
neg op1
negb op1
inc op1
incb op1
ext op1
extb op1
not op1
notb op1
clr op1
clrb op1
shl op1,0
shl op1,15
shl op1,op1
shr op1,0
shra op1,0
shlb op1,0
shrb op1,0
shrab op1,0
shll op1,0
shrl op1,0
shral op1,0
setc
clrc
clrvt
rst
di
ei
nop
skip op1
synct1: norml op1,op2
add op1,#h'00
add op1,op2,#h'ff
add op1,far2
add op1,op2,far3
addb op1,#h'00
addb op1,op2,#h'ff
addb op1,far2
addb op1,op2,far3
addc op1,#h'00
sub op1,#h'00
sub op1,op2,#h'ff
subb op1,#h'00
subb op1,op2,#h'ff
subc op1,#h'00
subcb op1,#h'00
cmp op1,#h'00
cmpb op1,#h'00
mulu op1,#h'00
mulu op1,op2,#h'ff
mulub op1,#h'00
mulub op1,op2,#h'ff
mul op1,#h'00
mul op1,op2,#h'ff
mulb op1,#h'00
mulb op1,op2,#h'ff
divu op1,#h'00
divub op1,#h'00
div op1,#h'00
divb op1,#h'00
and op1,#h'00
and op1,op2,#h'ff
andb op1,#h'00
andb op1,op2,#h'ff
orb op1,#h'00
orb op1,#h'00
xorb op1,#h'00
xorb op1,#h'00
ld op1,#h'00
ldb op1,#h'00
ld op1,#h'00
ld op1,#h'ff
ld op1,#h'00ff
ldb op1,#00
ldb op1,#h'ff
ldbse op1,#h'ff
ldbze op1,#h'00
push #h'00
synct2: norml op1,48
add op1,[op1]
add op1,op2,op2[op1]
add op1,op2,-128[op1]
addb op1,op2,127[op1]
add op1,far5
add op1,op2,far3
addb op1,[op1]+
addb op1,op2,op2[op1]
addb op1,far5
addb op1,op2,far3
addc op1,[op1]
sub op1,[op1]+
sub op1,op2,op2[op1]
subb op1,[op1]
subb op1,op2,op2[op1]
subc op1,[op1]
subcb op1,[op1]
cmp op1,[op1]
cmpb op1,[op1]
mulu op1,[op1]
mulu op1,op2,op2[op1]
mulub op1,[op1]
mulub op1,op2,op2[op1]
mul op1,[op1]
mul op1,op2,op2[op1]
mulb op1,[op1]
mulb op1,op2,op2[op1]
divu op1,[op1]
divub op1,[op1]
div op1,[op1]
divb op1,[op1]
and op1,[op1]
and op1,op2,op2[op1]
andb op1,[op1]
andb op1,op2,op2[op1]
orb op1,[op1]
orb op1,[op1]
xorb op1,[op1]
xorb op1,[op1]
ld op1,[op1]
ldb op1,[op1]
ld op1,[op1]
ld op1,op2[op1]
ld op1,[op1]
ldb op1,#00
ldb op1,op2[op1]
st op1,[op1]+
stb op1,[op1]+
ldbse op1,[op2]
ldbze op2,[op1]
push [op1]
pop [op1]
synctst:
farloop: .equ forward1,h'ff
far5: .equ forward2,h'00
sj0: .org h'0000
sj1: .org h'0100
sj2: .org h'0200
sj3: .org h'0300
sj4: .org h'0400
sjmp sj1
sjmp sj2
sjmp sj3
sjmp sj4
sjmp *-1022
sjmp *+1025
longtest:.end